Computer networks have become increasingly complex while people have relied on computers coupled to the networks to transmit and fetch information. The computer networks are responsible for transporting information between the computers used in the business as well as allowing users to connect to their work from remote locations. Network monitoring services have been developed to assist in detecting unexpected changes in the devices on the network. A network monitoring service provider may use a network appliance on the customer network to monitor devices on the customer network and send results to the monitoring service provider. The monitoring service provider then analyzes information received from the network appliance and provides alerts and various reports to an administrator of the customer network.
A network appliance may host various subroutines that perform different functions pertaining to gathering and reporting monitoring data to the service provider. For example, some subroutines may monitor performance of the Microsoft® Windows server, other subroutines may monitor performance of web servers, and yet other subroutines may monitor performance of database servers. Depending on what is included in the customer network, a customer may create multiple instances of various subroutines to monitor different components of the network. These instances are referred to herein as probes. Prior to making the subroutines available to the customer, the service provider may want to evaluate the effectiveness of the subroutines. Typically, such evaluation is performed by setting up the test environment and creating probes for monitoring target systems in the test environment. The monitoring data produced by the probes is then evaluated to ensure that the probes operate as expected. However, this approach involves significant expenses. In particular, this approach requires new hardware and/or software for each new class of probes being evaluated, as well as experienced engineers to maintain the test environment. In addition, the above approach may not always provide accurate results because the test environment is unlikely to be exactly the same as the production environment.